/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package br.com.loveprog.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import javax.persistence.Query;

/**
 *
 * @author Leandro
 */
public interface DaoGenerico <T,ID extends Serializable> {
    public Class<T> getObjectClass();
    public T salvar(T object);
    public T pesquisarPorId(ID id);
    public T atualizar(T object);
    public void excluir(T object);
    public List<T> todos();
    public List<T> listPesqParam(Query query, Map<String, Object> params);
    public List<T> listPesq(Query query);
    public T pesqParam(Query query, Map<String, Object> params);

}
